customer segmentation¶

About dataset: An in-depth examination of a company's ideal clients is provided by the Consumer Personality Analysis dataset gotten from kaggle¶¶

In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import opendatasets as od
import os


import plotly.express as px

%matplotlib inline
from ipywidgets import interact
In [2]:
data = pd.read_csv("marketing_campaign.csv", sep='\t')
In [3]:
data
Out[3]:
ID Year_Birth Education Marital_Status Income Kidhome Teenhome Dt_Customer Recency MntWines ... NumWebVisitsMonth AcceptedCmp3 AcceptedCmp4 AcceptedCmp5 AcceptedCmp1 AcceptedCmp2 Complain Z_CostContact Z_Revenue Response
0 5524 1957 Graduation Single 58138.0 0 0 04-09-2012 58 635 ... 7 0 0 0 0 0 0 3 11 1
1 2174 1954 Graduation Single 46344.0 1 1 08-03-2014 38 11 ... 5 0 0 0 0 0 0 3 11 0
2 4141 1965 Graduation Together 71613.0 0 0 21-08-2013 26 426 ... 4 0 0 0 0 0 0 3 11 0
3 6182 1984 Graduation Together 26646.0 1 0 10-02-2014 26 11 ... 6 0 0 0 0 0 0 3 11 0
4 5324 1981 PhD Married 58293.0 1 0 19-01-2014 94 173 ... 5 0 0 0 0 0 0 3 11 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2235 10870 1967 Graduation Married 61223.0 0 1 13-06-2013 46 709 ... 5 0 0 0 0 0 0 3 11 0
2236 4001 1946 PhD Together 64014.0 2 1 10-06-2014 56 406 ... 7 0 0 0 1 0 0 3 11 0
2237 7270 1981 Graduation Divorced 56981.0 0 0 25-01-2014 91 908 ... 6 0 1 0 0 0 0 3 11 0
2238 8235 1956 Master Together 69245.0 0 1 24-01-2014 8 428 ... 3 0 0 0 0 0 0 3 11 0
2239 9405 1954 PhD Married 52869.0 1 1 15-10-2012 40 84 ... 7 0 0 0 0 0 0 3 11 1

2240 rows × 29 columns

In [4]:
data.head()
Out[4]:
ID Year_Birth Education Marital_Status Income Kidhome Teenhome Dt_Customer Recency MntWines ... NumWebVisitsMonth AcceptedCmp3 AcceptedCmp4 AcceptedCmp5 AcceptedCmp1 AcceptedCmp2 Complain Z_CostContact Z_Revenue Response
0 5524 1957 Graduation Single 58138.0 0 0 04-09-2012 58 635 ... 7 0 0 0 0 0 0 3 11 1
1 2174 1954 Graduation Single 46344.0 1 1 08-03-2014 38 11 ... 5 0 0 0 0 0 0 3 11 0
2 4141 1965 Graduation Together 71613.0 0 0 21-08-2013 26 426 ... 4 0 0 0 0 0 0 3 11 0
3 6182 1984 Graduation Together 26646.0 1 0 10-02-2014 26 11 ... 6 0 0 0 0 0 0 3 11 0
4 5324 1981 PhD Married 58293.0 1 0 19-01-2014 94 173 ... 5 0 0 0 0 0 0 3 11 0

5 rows × 29 columns

checking information head of the dataset¶

In [5]:
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2240 entries, 0 to 2239
Data columns (total 29 columns):
 #   Column               Non-Null Count  Dtype  
---  ------               --------------  -----  
 0   ID                   2240 non-null   int64  
 1   Year_Birth           2240 non-null   int64  
 2   Education            2240 non-null   object 
 3   Marital_Status       2240 non-null   object 
 4   Income               2216 non-null   float64
 5   Kidhome              2240 non-null   int64  
 6   Teenhome             2240 non-null   int64  
 7   Dt_Customer          2240 non-null   object 
 8   Recency              2240 non-null   int64  
 9   MntWines             2240 non-null   int64  
 10  MntFruits            2240 non-null   int64  
 11  MntMeatProducts      2240 non-null   int64  
 12  MntFishProducts      2240 non-null   int64  
 13  MntSweetProducts     2240 non-null   int64  
 14  MntGoldProds         2240 non-null   int64  
 15  NumDealsPurchases    2240 non-null   int64  
 16  NumWebPurchases      2240 non-null   int64  
 17  NumCatalogPurchases  2240 non-null   int64  
 18  NumStorePurchases    2240 non-null   int64  
 19  NumWebVisitsMonth    2240 non-null   int64  
 20  AcceptedCmp3         2240 non-null   int64  
 21  AcceptedCmp4         2240 non-null   int64  
 22  AcceptedCmp5         2240 non-null   int64  
 23  AcceptedCmp1         2240 non-null   int64  
 24  AcceptedCmp2         2240 non-null   int64  
 25  Complain             2240 non-null   int64  
 26  Z_CostContact        2240 non-null   int64  
 27  Z_Revenue            2240 non-null   int64  
 28  Response             2240 non-null   int64  
dtypes: float64(1), int64(25), object(3)
memory usage: 507.6+ KB
In [6]:
#ckecking missing value
missing_values = data.isnull().sum()
# Print the missing values count
print(missing_values)
ID                      0
Year_Birth              0
Education               0
Marital_Status          0
Income                 24
Kidhome                 0
Teenhome                0
Dt_Customer             0
Recency                 0
MntWines                0
MntFruits               0
MntMeatProducts         0
MntFishProducts         0
MntSweetProducts        0
MntGoldProds            0
NumDealsPurchases       0
NumWebPurchases         0
NumCatalogPurchases     0
NumStorePurchases       0
NumWebVisitsMonth       0
AcceptedCmp3            0
AcceptedCmp4            0
AcceptedCmp5            0
AcceptedCmp1            0
AcceptedCmp2            0
Complain                0
Z_CostContact           0
Z_Revenue               0
Response                0
dtype: int64

income has 24 missing value next we drop missing value¶

In [ ]:
 
In [7]:
# Drop rows with missing values
data.dropna(inplace=True)

# Print the DataFrame
print(data)
         ID  Year_Birth   Education Marital_Status   Income  Kidhome  \
0      5524        1957  Graduation         Single  58138.0        0   
1      2174        1954  Graduation         Single  46344.0        1   
2      4141        1965  Graduation       Together  71613.0        0   
3      6182        1984  Graduation       Together  26646.0        1   
4      5324        1981         PhD        Married  58293.0        1   
...     ...         ...         ...            ...      ...      ...   
2235  10870        1967  Graduation        Married  61223.0        0   
2236   4001        1946         PhD       Together  64014.0        2   
2237   7270        1981  Graduation       Divorced  56981.0        0   
2238   8235        1956      Master       Together  69245.0        0   
2239   9405        1954         PhD        Married  52869.0        1   

      Teenhome Dt_Customer  Recency  MntWines  ...  NumWebVisitsMonth  \
0            0  04-09-2012       58       635  ...                  7   
1            1  08-03-2014       38        11  ...                  5   
2            0  21-08-2013       26       426  ...                  4   
3            0  10-02-2014       26        11  ...                  6   
4            0  19-01-2014       94       173  ...                  5   
...        ...         ...      ...       ...  ...                ...   
2235         1  13-06-2013       46       709  ...                  5   
2236         1  10-06-2014       56       406  ...                  7   
2237         0  25-01-2014       91       908  ...                  6   
2238         1  24-01-2014        8       428  ...                  3   
2239         1  15-10-2012       40        84  ...                  7   

      AcceptedCmp3  AcceptedCmp4  AcceptedCmp5  AcceptedCmp1  AcceptedCmp2  \
0                0             0             0             0             0   
1                0             0             0             0             0   
2                0             0             0             0             0   
3                0             0             0             0             0   
4                0             0             0             0             0   
...            ...           ...           ...           ...           ...   
2235             0             0             0             0             0   
2236             0             0             0             1             0   
2237             0             1             0             0             0   
2238             0             0             0             0             0   
2239             0             0             0             0             0   

      Complain  Z_CostContact  Z_Revenue  Response  
0            0              3         11         1  
1            0              3         11         0  
2            0              3         11         0  
3            0              3         11         0  
4            0              3         11         0  
...        ...            ...        ...       ...  
2235         0              3         11         0  
2236         0              3         11         0  
2237         0              3         11         0  
2238         0              3         11         0  
2239         0              3         11         1  

[2216 rows x 29 columns]

Running the correlations matrix¶

In [8]:
corrmat= data.corr()
plt.figure(figsize=(35,35))  
sns.heatmap(corrmat,annot=True, center=0)
plt.show()
feature engineering: In the dataset, there is a tonne of customer-related information provided. In certain instances, we can combine various columns to create new features, while in others, we can make brand-new columns based on pre-existing ones. This would facilitate more thorough data exploration and the extraction of insightful conclusions¶
Age of customer: Let's determine each customer's age based on their birth year. For the purpose of simplicity, we'll suppose that the data was acquired in January 2015 because clients enrolled with the company between 2012 and 2014¶
In [9]:
import datetime as dt
data['Age'] = 2015 - data.Year_Birth
In [10]:
data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
data['Month_Customer'] = 12.0 * (2015 - data.Dt_Customer.dt.year ) + (1 - data.Dt_Customer.dt.month)
data['Month_Customer']
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '29-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '18-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-07-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-07-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-05-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '13-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-10-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-10-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '16-08-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-04-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-11-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-04-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-06-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '22-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-09-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '23-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-03-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-01-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '25-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '31-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-02-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '19-05-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-12-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-07-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '26-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '14-01-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-06-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '24-08-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '28-02-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '30-11-2013' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '27-03-2014' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '15-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '17-09-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '21-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
C:\Users\Adebo\AppData\Local\Temp\ipykernel_29836\350686928.py:1: UserWarning: Parsing '20-12-2012' in DD/MM/YYYY format. Provide format or specify infer_datetime_format=True for consistent parsing.
  data['Dt_Customer'] = pd.to_datetime(data['Dt_Customer'])
Out[10]:
0       33.0
1        5.0
2       17.0
3        3.0
4       12.0
        ... 
2235    19.0
2236     3.0
2237    12.0
2238    12.0
2239    27.0
Name: Month_Customer, Length: 2216, dtype: float64

total spending: The customer's purchases for various products are disclosed separately. Let's add them up to determine the clients' total spending.¶

In [11]:
data['TotalSpendings'] =  data.MntWines + data.MntFruits + data.MntMeatProducts + data.MntFishProducts +data.MntSweetProducts + data.MntGoldProds
data['TotalSpendings']
Out[11]:
0       1617
1         27
2        776
3         53
4        422
        ... 
2235    1341
2236     444
2237    1241
2238     843
2239     172
Name: TotalSpendings, Length: 2216, dtype: int64

Age Ranges Let's categorise the clients based on their ages into several age groups.¶

In [12]:
data.loc[(data['Age'] >= 10) & (data['Age'] <= 19), 'AgeGroup'] = 'Teen'
data.loc[(data['Age'] >= 20) & (data['Age']<= 40), 'AgeGroup'] = 'Adult'
data.loc[(data['Age'] >= 41) & (data['Age'] <= 62), 'AgeGroup'] = 'Middle Age Adult'
data.loc[(data['Age'] > 63), 'AgeGroup'] = 'Senior Adult'
Number of Children Information is provided for children and teenagers at home for each customer separately. In order to better depict them as the number of children at home, let's total them up¶
In [13]:
data['Children'] = data['Kidhome'] + data['Teenhome']
Marital Status; The Marital Status column has different string values: Together, Married, Divorced, Widow, Alone, Absurd, YOLO. Most of them fall under the same category. So let's represent the marital status of customers based on 2 main categories i.e. married and Single¶
In [14]:
data.Marital_Status = data.Marital_Status.replace({'Together': 'Married',
                                                           'Married': 'Married',
                                                           'Divorced': 'Single',
                                                           'Widow': 'Single', 
                                                           'Alone': 'Single',
                                                           'Absurd': 'Single',
                                                           'YOLO': 'Single'})

using bar chat and boxplot to verify the outliner for income and age¶

In [15]:
sns.boxplot(y=data.Age)
Out[15]:
<AxesSubplot:ylabel='Age'>
In [16]:
plt.figure(figsize=(20,10))
sns.barplot(x=data.index, y=data.Age)
plt.xticks(rotation=90, fontsize=12)
plt.ylabel('Age', fontsize=20, labelpad=20)
plt.xlabel('Customer', fontsize=20, labelpad=20)
plt.title('Age distribution by customer', fontsize=24)
plt.show()
In [17]:
sns.boxplot(y=data.Income)
Out[17]:
<AxesSubplot:ylabel='Income'>
In [18]:
plt.figure(figsize=(20,10))
sns.barplot(x=data.index, y=data.Income)
plt.xticks(rotation=90, fontsize=12)
plt.ylabel('income', fontsize=20, labelpad=20)
plt.xlabel('Customer', fontsize=20, labelpad=20)
plt.title('income distribution by customer', fontsize=24)
plt.show()

Some of the clients are over 100 years old. This is not likely to occur. Let's remove those clients from the data. Some clients make more than $120,000, while others even make more than $600,000. They stand out as the outliers in the data, thus we won't include them.¶

In [19]:
# filter customers based on age and income
data = data.query('Age < 100 and Income < 120000')

Exploratory analysis¶

Marital status¶

In [20]:
maritalstatus_counts = data['Marital_Status'].value_counts()

fig = px.pie(names=maritalstatus_counts.index, 
             values=maritalstatus_counts.values, 
             color_discrete_sequence=px.colors.sequential.RdBu,
             hole=0.5)
fig.update_traces(textposition='inside', textinfo='percent+label', 
                  marker=dict(line=dict(color='white', width=2)))
fig.show()
In [21]:
import plotly.graph_objects as go

education_counts = data["Education"].value_counts()

fig = go.Figure(
    data=go.Bar(
        x=education_counts.index,
        y=education_counts.values,
        marker=dict(color=education_counts.values, colorscale="RdBu"),
        text=education_counts.values,
        textposition="auto",
    )
)

fig.update_layout(
    xaxis=dict(title="Education Level"),
    yaxis=dict(title="Number of Customers"),
    title="Customer Education Distribution",
)

fig.show()
Insights:¶
Half of the customers are University graduates There are more customers who hold PhD degrees than the customers who did Master¶
In [22]:
children = data['Children'].value_counts()

fig = px.bar(children, 
             x=children.index, 
             y=children.values,
             color_discrete_sequence=px.colors.sequential.RdBu)

fig.update_traces(texttemplate='%{y}', textposition='outside', 
                  marker=dict(line=dict(color='white', width=1)))

fig.update_layout(xaxis_title='Number of Children', yaxis_title='Count', 
                  showlegend=False)

fig.show()
from the data above it shows that over 1112 customers have 0ne child and 628 customers are without children while 415 has 2 and 50 has 3 children¶
Average spending of customers with children¶
In [23]:
childrenspending = data.groupby('Children')['TotalSpendings'].mean().sort_values(ascending=False)
childrenspending_df = pd.DataFrame(list(childrenspending.items()), columns=['No. of Children', 'Average Spending'])

fig = px.bar(childrenspending_df, x='Average Spending', y='No. of Children', orientation='h', color='No. of Children', height=400, width=800)

fig.update_layout(
    title='Average Spending by Number of Children',
    xaxis_title='Average Spending',
    yaxis_title='No. of Children',
    font=dict(
        size=14,
        color='black'
    )
)
from the graph above it shows that customer with no children get to spend more¶
In [24]:
# set figure size
plt.figure(figsize=(20,10))

# create histogram
plt.hist(data.Age, color='red')

# set title
plt.title("Age Distribution of Customers", fontsize=20)

# set axis labels and tick sizes
plt.xlabel('Age', fontsize=16, labelpad=20)
plt.ylabel('Counts', fontsize=16, labelpad=20)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)

# display plot
plt.show()
from the above plot majority of the customers a from within 30 to 60 years¶
finding the cutomer age in relation to the spending¶
In [25]:
fig, ax = plt.subplots(figsize=(20,10))
sns.lineplot(x='Age', y='TotalSpendings', data=data, ax=ax)
ax.set_xlabel('Age', fontsize=20, labelpad=20)
ax.set_ylabel('Spendings', fontsize=20, labelpad=20)
ax.tick_params(axis='both', which='major', labelsize=16)

from the above plot there doesnt seems to be any relationship between the spending and the age¶

In [26]:
# Get the count of customers in each age group
age_group_count = data['AgeGroup'].value_counts()

# Create a bar chart using plotly express
fig = px.bar(
    x=age_group_count.index,
    y=age_group_count.values,
    color=age_group_count.index,
    color_discrete_sequence=['#3D0C02', '#800000', '#C11B17', '#C0C0C0'],
    labels={
        'x': 'Age Group',
        'y': 'Number of Customers',
        'color': 'Age Group'
    },
    width=700,
    height=500
    )

# Customize the layout of the bar chart
fig.update_layout(
    title='Distribution of Customers by Age Group',
    xaxis_tickangle=-45,
    font=dict(size=18)
)

# Display the bar chart
fig.show()
middle age adult are the most common of the group they are more than other group¶

Below shows the grouping of customers age group according to their spending¶

In [27]:
age_spending = data.groupby('AgeGroup')['TotalSpendings'].mean()

plt.figure(figsize=(20,10))
plt.scatter(x=age_spending.index, y=age_spending.values, s=100)

plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.xlabel('AgeGroup', fontsize=20, labelpad=20)
plt.ylabel('Average Spending', fontsize=20, labelpad=20);

From the scatterplot above it shows that middle aged adult get to spend more¶

Income distribution of the customer¶

In [28]:
plt.figure(figsize=(20, 10))
sns.kdeplot(x=data.Income, color="midnightblue", fill=True, alpha=0.5)
plt.title("Income Distribution of Customers", fontsize=20)
plt.xlabel("Income", fontsize=16)
plt.ylabel("counts", fontsize=16)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
sns.despine()
plt.show()
from above you can see Customers incomes are distributed normally, with the majority making between $25,000 and $85,000.¶

Relationship between customer income and their spending¶

In [29]:
fig, ax = plt.subplots(figsize=(20, 10))

hb = ax.hexbin(data.Income, data.TotalSpendings, gridsize=50, cmap='viridis')
cb = fig.colorbar(hb)

ax.set_xlabel('Income', fontsize=20, labelpad=20)
ax.set_ylabel('Spendings', fontsize=20, labelpad=20)
ax.tick_params(axis='both', which='major', labelsize=16)
cb.ax.tick_params(labelsize=16)
cb.set_label('Density', fontsize=20)
plt.show()
from the above diagram we get to see that the higher the customer earn the higher the income¶

most bought product¶

In [30]:
# select relevant columns and calculate total spending
product_spending = data[['MntWines', 'MntFruits', 'MntMeatProducts', 'MntFishProducts', 'MntSweetProducts', 'MntGoldProds']]
total_spending = product_spending.sum()

# create a pie chart of the proportion of total spending on each product
plt.figure(figsize=(10, 6))
plt.title('Proportion of Total Spending on Products', fontsize=16, fontweight='bold')
plt.pie(total_spending, labels=total_spending.index, autopct='%1.1f%%', startangle=90, counterclock=False)
plt.axis('equal')
plt.show()

customer tend to spend most on wine and meat product and the least fruit and sweet product¶

implementation¶

Cluster modelling: Let's use kmeans Clustering to identify the various customer segments based on the various characteristics of the customer data. Let's start by removing those unnecessary columns from the data¶
In [31]:
X = data.drop(['ID', 'Year_Birth', 'Education', 'Marital_Status', 'Kidhome', 'Teenhome', 'MntWines', 'MntFruits','MntMeatProducts',
                          'MntFishProducts', 'MntSweetProducts', 'MntGoldProds','Dt_Customer', 'Z_CostContact',
                          'Z_Revenue', 'Recency', 'NumDealsPurchases', 'NumWebPurchases','NumCatalogPurchases',
                          'NumStorePurchases', 'NumWebVisitsMonth', 'AcceptedCmp3', 'AcceptedCmp4', 'AcceptedCmp5',
                          'AcceptedCmp1', 'AcceptedCmp2', 'Complain',  'Response', 'AgeGroup'], axis=1)
In [32]:
from sklearn.cluster import KMeans

options = range(2, 9)
inertias = []

for n_clusters in options:
    kmeans = KMeans(n_clusters=n_clusters, random_state=42)
    kmeans.fit(X)
    inertias.append(kmeans.inertia_)

plt.figure(figsize=(20, 10))
plt.plot(options, inertias, '-o')
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.title("No. of clusters vs. Inertia")
plt.xlabel('No. of Clusters (K)', fontsize=20, labelpad=20)
plt.ylabel('Inertia', fontsize=20, labelpad=20)
plt.show()

Using the DBSCAN clustering¶

In [33]:
from sklearn.cluster import DBSCAN
from sklearn.metrics import silhouette_score
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.decomposition import PCA
In [34]:
dbscan = DBSCAN(eps=4, min_samples=4)
y = dbscan.fit_predict(X)
np.unique(y)
Out[34]:
array([-1,  0], dtype=int64)
In [35]:
sil=silhouette_score(X,y)
print("Silhouette Score:"+str(sil))
Silhouette Score:-0.18405874187777052
In this case, the silhouette score is -0.18405874187777052, which is negative. This indicates that the clusters are poorly separated and that many data points may be assigned to the wrong clusters. A negative silhouette score suggests that the clustering algorithm may not perform well in separating the data points into distinct groups¶
In [36]:
we try using 
  Input In [36]
    we try using
       ^
SyntaxError: invalid syntax

It's important to note that DBSCAN may not work well for datasets with low-density regions or irregularly shaped clusters¶

For this we use k-means clustering¶

In [ ]:
model = KMeans(n_clusters=4, init='k-means++', random_state=42).fit(X)

preds = model.predict(X)

customer_kmeans = X.copy()
customer_kmeans['clusters'] = preds
In [ ]:
from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=4, init='k-means++', random_state=42)
clusters = kmeans.fit_predict(X)

customer_kmeans = X.copy()
customer_kmeans['clusters'] = clusters

plotting customer segmentation by income¶

The clustered is been grouped to four group group 0,1,2 and 3¶

In [ ]:
plt.figure(figsize=(20,10))

sns.scatterplot(data=customer_kmeans, x='clusters', y='Income', hue='clusters', s=100)
plt.xlabel('clusters', fontsize=10, labelpad=10)
plt.ylabel('income', fontsize=10, labelpad=10)
plt.title('Group income by clusters', fontsize=12)
plt.legend(fontsize=20, loc='upper left')
plt.show()
According to the plot above the customers are grouped into four group 0, 1, 2 and 3.which shows group zero are the least earner, group 1 are the highest income earner, group two are high earner while group three less earner.shows the age doesnt really determine their income¶

clusters of total spending¶

In [ ]:
plt.figure(figsize=(20,10))

sns.barplot(data=customer_kmeans, x='clusters', y='TotalSpendings')
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Spendings', fontsize=20, labelpad=20)
plt.show()

USING SCATTERPLOT¶

In [ ]:
plt.figure(figsize=(20,10))

sns.scatterplot(data=customer_kmeans, x='clusters', y='TotalSpendings', hue='clusters', palette='deep')
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Spendings', fontsize=20, labelpad=20)
plt.show()

From the above displays that group one are the highest spender¶

In [ ]:
 

Age cluster¶

In [ ]:
# Set figure size
plt.figure(figsize=(20,10))

# Create violin plot
sns.violinplot(data=customer_kmeans, x='clusters', y='Age')

# Set axis labels
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Age', fontsize=20, labelpad=20)

# Show plot
plt.show()
THIS SHOWS GROUP ARE THE LARGEST GROUP AND THE AGE RANGE IS BETWEEN 40 TO 60 FOLLWED BY 2 AND 3¶
In [ ]:
# Set figure size
fig, ax = plt.subplots(figsize=(20,10))
# Create violin plot
sns.violinplot(data=customer_kmeans, x='clusters', y='Children', ax=ax)
# Set axis labels
ax.set_xlabel('Clusters', fontsize=20, labelpad=20)
ax.set_ylabel('Children', fontsize=20, labelpad=20)

SHOWS THATS GROUP ONE HAS NO CHILD SO WE KNOW THAT CUSTOMER WITH NO CHILD ARE THE HIGHEST SPENDER AND THEY AGE BETWEEN 40 TO 60¶

Data exploration cluster base¶

In [ ]:
mapping = {1: 'Bronze', 2: 'Platinum', 3: 'Silver', 0: 'Gold'}
customer_kmeans.clusters.replace(mapping, inplace=True)
data['clusters'] = customer_kmeans.clusters
In [ ]:
import plotly.graph_objs as go

cluster_counts = data.clusters.value_counts()

labels = cluster_counts.index.tolist()
values = cluster_counts.values.tolist()

fig = go.Figure(data=[go.Pie(labels=labels, values=values)])

fig.update_traces(textposition='inside', textinfo='percent+label', 
                  marker=dict(line=dict(color='white', width=2)), 
                  pull=[0.1 if count == max(values) else 0 for count in values])

fig.update_layout(colorway=px.colors.sequential.RdBu)
PLATINUM CUSTOMER ARE 27PERCENT,BRONZE ARE 23 AND SO ON¶
In [ ]:
cluster_counts = data.clusters.value_counts()

labels = cluster_counts.index.tolist()
values = cluster_counts.values.tolist()

fig = go.Figure(data=[go.Bar(x=labels, y=values, marker_color=px.colors.qualitative.Plotly)])

fig.update_layout(title='Customer Clusters', xaxis_title='Cluster', yaxis_title='Count')

fig.show()
In [ ]:
plt.figure(figsize=(20,10))

sns.swarmplot(data=data, x='clusters', y='TotalSpendings')
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Total Spendings', fontsize=20, labelpad=20)
plt.title('Customer Segmentation by Total Spendings', fontsize=24, pad=20)

plt.show()
from the above plot those earning more are the bronze and platinum category and they are spending more¶

Spending habit by clusters¶

In [ ]:
import plotly.graph_objects as go

cluster_spendings = data.groupby('clusters')[['MntWines', 'MntFruits','MntMeatProducts', 
                                                  'MntFishProducts', 'MntSweetProducts', 'MntGoldProds']].sum()

fig = go.Figure(data=[go.Bar(x=cluster_spendings.index, y=cluster_spendings[col], name=col) 
                      for col in cluster_spendings.columns])

fig.update_layout(
    title={'text': "Spending Habits by Cluster", 'font': {'size': 24}},
    xaxis={'title': 'Clusters', 'tickfont': {'size': 16}},
    yaxis={'title': 'Spendings', 'tickfont': {'size': 16}},
    barmode='stack',
    legend={'orientation': 'h', 'x': 0.1, 'y': -0.1},
    width=1200, height=600
)

fig.show()
THE MOST COMMON AND SELLING PRODUCT AMONG THE FOUR GROUP ARE WINE AND MEAT WHILE FRUIT AND FISH ARE THE LEAST¶
In [ ]:
cluster_purchases = data.groupby('clusters')[['NumDealsPurchases', 'NumWebPurchases', 'NumCatalogPurchases',
                                                  'NumStorePurchases', 'NumWebVisitsMonth']].sum()

fig, ax = plt.subplots(figsize=(20, 10))
sns.barplot(data=cluster_purchases.reset_index().melt(id_vars='clusters', var_name='purchase_type', value_name='purchases'),
            x='clusters', y='purchases', hue='purchase_type', ax=ax)

plt.title('Purchasing Habits by Cluster')
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Purchases', fontsize=20, labelpad=20)
plt.xticks(rotation=0, ha='center')
plt.legend(title='Purchase Type', fontsize=14, title_fontsize=14, loc='upper right')
plt.show()
MEANING CUSTOMER THAT PURCHASE ITEM FROM THE STORE VISIT THE WEB OFTEN. PURCHASE FROM STORE IS THE MOST, FOLLOWED BY PURCHASE FROM WEB.¶
In [ ]:
cluster_campaign = data.groupby('clusters')[['AcceptedCmp1', 'AcceptedCmp2', 'AcceptedCmp3', 'AcceptedCmp4', 
                                                  'AcceptedCmp5', 'Response']].sum()

fig, ax = plt.subplots(figsize=(20, 10))
sns.barplot(data=cluster_campaign.reset_index().melt(id_vars='clusters', var_name='campaign_type', value_name='counts'),
            x='clusters', y='counts', hue='campaign_type', ax=ax)

plt.title('Promotions Acceptance by Cluster')
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Promotion Counts', fontsize=20, labelpad=20)
plt.xticks(rotation=0, ha='center')
plt.legend(title='Campaign Type', fontsize=14, title_fontsize=14, loc='upper right')
plt.show()
In [ ]:
import matplotlib.pyplot as plt

cluster_campaign = data.groupby('clusters')[['AcceptedCmp1', 'AcceptedCmp2', 'AcceptedCmp3', 'AcceptedCmp4', 
                                                  'AcceptedCmp5', 'Response']].sum()

fig, ax = plt.subplots(figsize=(20, 10))

cluster_campaign.plot(kind='bar', stacked=True, ax=ax, color=['tomato', 'salmon', 'green', 'coral', 'cyan', 'orange'])

plt.title('Promotions Acceptance by Cluster')
plt.xlabel('Clusters', fontsize=20, labelpad=20)
plt.ylabel('Promotion Counts', fontsize=20, labelpad=20)
plt.xticks(rotation=0, ha='center')
plt.legend(title='Campaign Type', fontsize=14, title_fontsize=14, loc='upper right')
plt.show()
In [ ]:
THE BRONZE CATEGORY ACCPTED MOST OF THE CAMPAIGN.

CONCLUSION¶

In conclusion, customer segmentation is a crucial tool for digital marketers because it enables companies to better understand and interact with their clientele. Target certain groups with marketing messages by segmenting their audience, boosting the likelihood of success, and enhancing the overall efficiency of their digital marketing initiatives.¶

In [ ]: